package com.huqing.icu.model;

import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.huqing.icu.enums.PostApproveStatusEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.sql.Timestamp;

/**
 * @Description 社区帖子实体类
 * @Author huqing
 * @Date 2025/4/6 20:30
 **/
@TableName(value = "community_post")
@Data
public class CommunityPost {

    @Schema(name = "id", description = "主键ID")
    private Long id;

    @Schema(name = "userId", description = "用户id")
    private Long userId;

    @Schema(name = "title", description = "标题")
    private String title;

    @Schema(name = "content", description = "内容")
    private String content;

    @Schema(name = "imgStr", description = "视频或图片列表")
    private String imgStr;

    @Schema(name = "province", description = "发布时所在省份")
    private String province;

    @Schema(name = "city", description = "发布时所在城市")
    private String city;

    @Schema(name = "district", description = "发布时所在区")
    private String district;

    /**
     * @see PostApproveStatusEnum
     */
    @Schema(name = "approveStatus", description = "审核状态")
    private Integer approveStatus;

    @Schema(name = "approveContent", description = "审核内容")
    private String approveContent;

    @Schema(name = "approveTime", description = "审核时间")
    private Timestamp approveTime;


    @Schema(name = "operatorId", description = "审核人ID")
    private Long approveUserId;

    /**
     * @see com.huqing.icu.enums.DeleteStatusEnum
     */
    @Schema(name = "isDeleted", description = "是否删除")
    @TableLogic
    private Integer isDeleted;

    @Schema(name = "createTime", description = "创建时间")
    private Timestamp createTime;

    @Schema(name = "modifyTime", description = "修改时间")
    private Timestamp modifyTime;
}
